#ifndef __STUDENT_H__
#define __STUDENT_H__

/**
 * 公有继承（最常使用）
 * 派生类会完整继承基类中成员（公有成员和保护成员）
 * 1. 基类中公有成员继承到派生类中也是公有成员
 * 2. 基类中保护成员继承到派生类中也是保护成员
 * 3. 基类中私有成员，派生类中无法使用
 * 
 * 保护继承
 * 1. 基类中公有成员继承到派生类中变成保护成员
 * 2. 基类中保护成员继承到派生类中变成保护成员
 * 3. 基类中私有成员，派生类中无法使用
 * 
 * 私有继承
 * 1. 基类中公有成员，派生类中无法使用
 * 2. 基类中保护成员，派生类中无法使用
 * 3. 基类中私有成员，派生类中无法使用
*/

// Student.h
#include "Person.h"
class Student : public Person
{
public:
    Student();
    ~Student();
    void setId(int id);
    int getId() const;
private: // 私有数据成员
    int id;
};

#endif